package com.gp8.tier3;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;

public interface ServiceGestionPiaffeur extends Remote {
	
	//Créé un compte
	Piaffeur CreationCompte(String pMail, String pPseudo, String pPassword) throws RemoteException;
	
	//Connecte un compte
	Piaffeur ConnexionCompte(String pMail, String pPassword) throws RemoteException;
	
	//Deconnecte un compte
	void DeconnexionCompte(Piaffeur pPiaffeur) throws RemoteException;
	
	//Supprime un compte
	void SuppressionCompte(Piaffeur pPiaffeur) throws RemoteException;
	
	//Ajoute un abonnement
	void AjouterAbonnement(Piaffeur suiveur, Piaffeur suivi) throws RemoteException;
	
	//Supprime un abonnement
	void SupprimerAbonnement(Piaffeur suiveur, Piaffeur suivi) throws RemoteException;
	
	//Retourne la liste de tous les abonnements d'une personne
	ArrayList<Piaffeur> mesAbonnements(Piaffeur suiveur) throws RemoteException;
	
	//Retourne la liste de tous les abonnés d'une personne
	ArrayList<Piaffeur> mesAbonnes(Piaffeur suiveur) throws RemoteException;
	
	//Ajoute un message
	void AjouterMessage(Piaffeur piaffeur, String message) throws RemoteException;
	
	//Supprime un message
	void SupprimerMessage(Piaffeur piaffeur, int numero) throws RemoteException;
	
	//Recherche dans les personnes
	ArrayList<Piaffeur> RecherchePiaffeur(String pseudo) throws RemoteException;
	
	//Recherche dans les messages
	ArrayList<Piafferie> RechercheMessage(String message) throws RemoteException;
}
